package com.christina.engine.decision;

import com.christina.engine.decision.model.DecisionRequest;
import com.christina.engine.decision.model.DecisionResult;

/**
 * 决策引擎接口
 * 
 * @author Christina
 */
public interface DecisionEngine {
    
    /**
     * 执行决策
     * 
     * @param request 决策请求
     * @return 决策结果
     */
    DecisionResult makeDecision(DecisionRequest request);
    
    /**
     * 评估决策质量
     * 
     * @param request 决策请求
     * @param result 决策结果
     * @return 质量评分 (0-1)
     */
    double evaluateDecisionQuality(DecisionRequest request, DecisionResult result);
    
    /**
     * 获取决策解释
     * 
     * @param request 决策请求
     * @param result 决策结果
     * @return 决策解释
     */
    String explainDecision(DecisionRequest request, DecisionResult result);
}